{% extends '__base__.html' %}
{% block title %}如何成长为一名优秀的运维工程师-Jack's web app{% endblock %}

{% block content %}
<h3>如何成长为一名优秀的运维工程师</h3>
<p>Author:Jack</p>
<img src="/static/img/engineer1.jpg" width="685" height="440">
<br>
<b>注意:根据真实故事改编,切勿对号入座!</b>
<p>小Y在一家SaaS公司做运维.</p>
<p>公司规模不大,但运维组已经有七八个人了,小Y算是核心Leader,但人手还是不够,每天忙得焦头烂额.
一天忙下来,发现全是一堆琐事:帮开发的跑测试,帮测试的调环境,在几个内网外网环境之间来回切换工作.
到了月底的release时期,更是严阵以待,要是产品上线出了问题,影响了客户的业务,不但公司得赔钱,这个月的绩效奖金还得扣了.
一年过去了,小Y觉得自己一直在原地踏步。</p>
<p>老板对运维团队很不满意,他问小Y:"咱们公司,十几台服务器,每月才线上更新一次,怎么需要这么多运维?"</p>
<p>小Y知道老板心疼钱,但不好直说,就回答:"现在咱们的开发流程不规范,每次从头编译,都要预设好多东西,而且编译一次要40分钟,跑一遍完整的测试要3个小时,再加上手动部署的半个小时,一天能测试两次上线就不错了.现在项目经理天天要发新版本测试,我们每个人负责两三个环境,都忙不过来呢."</p>
<p>老板听了不高兴,说:"上次我去参加一个开发者大会,有个创业公司,二十来人的开发团队,全职运维的只有一个人.人家业务量不比咱们少,怎么一个人就扛下来了?"</p>
<p>小Y说:"您说的这家创业公司我也了解,他们一开始就坚持DevOps,不区分开发和运维,自动化程度高,每次上线都是开发工程师自己做了."</p>
<p>"那为什么咱们公司不行?"</p>
<p>"这个嘛,我觉得有必要把现在的流程逐步转变成DevOps,运维和开发团队得合一起,运维的得有一定的开发能力,开发的也得有运维思想."</p>
<p>老板把开发组长小K找来了,让小Y和他一起想办法,尽快把公司开发部署流程的效率提上去.</p>
<hr>
<p>一晃半年过去了......</p>
<p>又到年底了,老板准备听取小Y的汇报.</p>
<p>这半年小Y可没闲着.
他直接把位子搬到了开发区,然后配合开发组长小K打造了一个集代码管理,编译,测试,打包,上线于一体的自动化脚本.
为了方便开发工程师"一键部署",小Y还开发了一个网页,只要用浏览器打开页面,输入一个git版本号,点一下按钮,10分钟以后,测试环境的新代码就上线了!
<p>小Y给老板演示了一下,老板很满意,说,"那正式版上线也这么部署吗?"</p>
<p>"正式版有另外一个页面,跟这个差不多,只是需要登录,有权限的人才能部署到线上.”</p>
<p>"不错嘛!这么说来,咱们公司的开发效率提升了不少吧!你说说经验."</p>
<p>小Y说:
"我也是从别人那偷师.现在的互联网公司尤其重视DevOps,很多大公司内部都用Python写自动化运维工具,我也发现用Python实现自动化打包,部署,测试非常方便,朋友推荐我去看Jack老师的Python教程,两周学下来,基本上就能写自动化脚本了."
"而且这个部署的网页也是用Python写的,我用了Flask框架,两天就搭好了.后台调用Fabric自动部署,现在我们都不用登SSH再用跳板机手动敲命令了."</p>
<p>"这么说来,会Python对自动化运维有很大帮助嘛!"老板说,"我看你们运维组最近闲了不少,除了月底上线忙两天,其他时间没啥活了吧?"</p>
<p>"活是比以前少了,"小Y说,"但是自动化脚本也需要维护和更新."</p>
<p>老板说:"我看出来了,咱们公司搞DevOps取得了很大成功,不需要以前那么多运维了,是好事,下个月给你加薪水."</p>
<p>老板顿了顿,又说:"但是公司也不能养闲人.正好咱们开发组在扩招,有好多模块都是用Python写的,你把你刚才说的Jack老师的Python教程网址发给大家,让运维的同学都去学,学会了转开发.
给一个月时间,到时候没学会的直接裁掉."</p>
<p>小Y一听懵了,心想,搞自动化运维,为公司省了钱,结果把自己一帮兄弟给坑了!</p>
<p>不多说了,为了不被老板裁掉,先发教程网址,点<a href="http://localhost:9090/webapp/python/pythonhome">这里</a>查看。</p>
{% endblock %}